import { _decorator, Component, Node, input, Input, EventKeyboard, KeyCode, SpriteFrame, Sprite, Animation,Contact2DType,Collider2D,IPhysics2DContact, } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('scene1')
export class scene1 extends Component {
    @property(SpriteFrame)
    frame = null;

    @property(Node)
    me = null;

    @property(Node)
    trolley = null;

    start() {
        const collider = this.trolley.getComponent(Collider2D);
        if (collider) {
            // 监听开始碰撞事件
            collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this);
            // 监听结束碰撞事件
            collider.on(Contact2DType.END_CONTACT, this.onEndContact, this);
        }
    }

    onBeginContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
        console.log('开始碰撞',otherCollider.node.name);
        // 在这里处理碰撞开始的逻辑
    }
    onEndContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
        console.log('结束碰撞');
        // 在这里处理碰撞结束的逻辑
    }

    update(deltaTime: number) {

    }
    onLoad() {
        // 注册键盘按下事件的监听器
        input.on(Input.EventType.KEY_DOWN, this.onKeyDown, this);
    }

    onDestroy() {
        // 注销键盘按下事件的监听器
        input.off(Input.EventType.KEY_DOWN, this.onKeyDown, this);
    }
    onPull(){
        // 在这里执行你需要的操作
        this.me.getComponent(Sprite).spriteFrame = this.frame
        // 获取Animator组件
        const animator = this.trolley.getComponent(Animation);
        if (animator) {
            // 播放名为"run"的动画
            animator.defaultClip = animator.clips[1]
            animator.play();
        }
    }
    onNotpull(){
        // 在这里执行你需要的操作
        this.me.getComponent(Sprite).spriteFrame = this.frame
        // 获取Animator组件
        const animator = this.trolley.getComponent(Animation);
        if (animator) {
            // 播放名为"run"的动画
            animator.defaultClip = animator.clips[0]
            animator.play();
        }
    }
    onKeyDown(event: EventKeyboard) {
        // 检查是否是空格键被按下
        if (event.keyCode === KeyCode.SPACE) {
            console.log('空格键被按下');
            // 在这里执行你需要的操作
            this.me.getComponent(Sprite).spriteFrame = this.frame
            // 获取Animator组件
            const animator = this.trolley.getComponent(Animation);
            if (animator) {
                // 播放名为"run"的动画
                animator.defaultClip = animator.clips[1]
                animator.play();
            }
        }
    }
}

